#include <REGX52.H>

/** @bref 定时器0初始化（1毫秒@11.0592MHz）
  * @param 无
  * @retval 无
  */
void timer0_init()
{
	TMOD &= 0xF0;		//设置定时器模式 -- 把TMOD的低四位清0，高四位保持不变
	TMOD |= 0x01;		//设置定时器模式 -- 把TMOD的高四位保持不变，最低位置1
	TL0 = 0;		//设置定时初值
	TH0 = 0;		//设置定时初值
	TF0 = 0;		//清除TF0标志
	TR0 = 0;		//定时器0不计时
}

/** @bref 定时器0设置计数器值
  * @param 要设置的计数器值，范围：0-65535
  * @retval 无
  */
void timer0_setCounter(unsigned int value)
{
	TH0 = value / 256;
	TL0 = value % 256;
}

/** @bref 定时器0获取计数器值
  * @param 无
  * @retval 获取的计数器值
  */
unsigned int timer0_getCounter()
{
	return (TH0 << 8) | TL0;
}

/** @bref 定时器0启动停止控制
	* @param 启动停止控制标志，1为启动，0为停止
  * @retval 无
  */
void timer0_run(unsigned char flag)
{
	TR0 = flag;
}



